#pragma once

#include "UMLDiagramElementRef.h"

namespace uml {

UMLDiagramElementRef::UMLDiagramElementRef(const QString& umlType)
    : UMLDiagramElement(umlType) {}

void UMLDiagramElementRef::fromJson(
    const QJsonObject& json,
    QStringList& errorList
) {
    UMLDiagramElement::fromJson(json, errorList);
    refUmlType_ = json.value("refUmlType").toString("");
    refId_ = QUuid(json.value("refId").toString(""));
}

void UMLDiagramElementRef::toJson(QJsonObject& json) {
    UMLDiagramElement::toJson(json);
    json.insert("refUmlType", refUmlType_);
    json.insert("refId", refId_.toString());
}
} // namespace uml
